package com.linkgie.galaxyframework.crypto.spi;

import com.linkgie.galaxyframework.crypto.Cryptogram;

/**
 * {@link CryptogramBytesDecoder} 密码数据报解码器；解码已编码密码数据报的原始数据；
 * <p>
 * 
 * 此类型被设计用于面向密码提供者 {@link CryptoServiceProvider} 实现密码算法服务；
 * 
 * @author liso
 *
 */
public interface CryptogramBytesDecoder {

	/**
	 * 解析指定的编码数据，返回原始的密码数据；
	 * 
	 * @param encodedBytes
	 * @return
	 */
	byte[] getRawBytes(byte[] encodedBytes);

	/**
	 * 解析指定的数据报，返回原始的密码数据；
	 * 
	 * @param cryptogram
	 * @return
	 */
	byte[] getRawBytes(Cryptogram cryptogram);

}